package com.ipartek.formacion.pruebas;

/**
 * Clase de prueba para jugar con la varaibles primitivas
 * 
 * <ol>
 * <li>byte</li>
 * <li>short</li>
 * <li>int</li>
 * <li>long</li>
 * <li>float</li>
 * <li>double</li>
 * <li>char</li>
 * <li>boolean</li>
 * </ol>
 * 
 * 
 * @author ur00
 * 
 */
public class VariablesPrimitivas {

	public static byte _byte;
	public static short _short;
	public static int _int;
	public static long _long;
	public static float _float;
	public static double _double;
	public static char _char;
	public static boolean _boolean;

	/**
	 * Inicializa cada tipo primitivo a su valor minimo Usando su clase Wraper
	 * con los atributos predefinidos
	 * 
	 */
	public static void inicializaMinimo() {
		_byte = Byte.MIN_VALUE;
		_short = Short.MIN_VALUE;
		_int = Integer.MIN_VALUE;
		_long = Long.MIN_VALUE;
		_float = Float.MIN_VALUE;
		_double = Double.MIN_VALUE;
		_char = Character.MIN_VALUE;
		_boolean = Boolean.FALSE;
	}

	/**
	 * 
	 */
	public static void inicializaMaximo() {
		_byte = Byte.MAX_VALUE;
		_short = Short.MAX_VALUE;
		_int = Integer.MAX_VALUE;
		_long = Long.MAX_VALUE;
		_float = Float.MAX_VALUE;
		_double = Double.MAX_VALUE;
		_char = Character.MAX_VALUE;
		_boolean = Boolean.TRUE;
	}

	/**
	 * Muestra por pantalla todos los valores de los atributos de clase pudiendo
	 * mostrar una linea de rayas al final de todos
	 * 
	 * @param mostrarLinea
	 *            true muestra por pantalla linea de rayas
	 * 
	 * @param titulo
	 *            literal que se mostrara antes de imprimir las variables
	 */
	public static void mostrarPorPantalla(boolean mostrarLinea, String titulo) {

		if (titulo != null) {
			System.out.println("--" + titulo + "------------------");
		}

		System.out.println("byte: " + _byte);
		System.out.println("short: " + _short);
		System.out.println("int: " + _int);
		System.out.println("long: " + _long);
		System.out.println("float: " + _float);
		System.out.println("double: " + _double);
		System.out.println("char: " + _char);
		System.out.println("boolean: " + _boolean);

		if (mostrarLinea) {
			System.out.println("-----------------------------------------");
		}

	}

	/**
	 * Inicializacion de las variables a 3, siempre que se pueda A continuacion
	 * se muestran por pantalla
	 */
	public static void inicializar() {

		_byte = 3;
		_short = 3;
		_int = 3;
		_long = 3;
		_float = (float) 3.3;
		_double = 3.3;
		_char = '3';
		// bollean no se puede
		// _boolean = 3;

		mostrarPorPantalla(true, "iniciar a 3");
	}

	/**
	 * Metodo main para pruebas
	 * 
	 * @param args
	 */
	public static void main(String[] args) {

		/*
		 * // mostrar por pantalla varibles primitvas sin inicializar
		 * mostrarPorPantalla(true, "inicializadas por defecto"); // mostrar por
		 * pantalla varibles primitvas inicializadas al minimo
		 * inicializaMinimo(); mostrarPorPantalla(true, null); // mostrar por
		 * pantalla varibles primitvas inicializadas al maximo
		 * inicializaMaximo(); mostrarPorPantalla(false, null);
		 */

		inicializar();

	}

}
